<?php #Заказ в 1 клик

	if( isset( $_POST['action'] ) )
	{
		echo $load->block('one_click');
	}
	else
	{
		$one_click = array_map( 'trim', $_POST['one_click'] );
		// disp_status( print_r( $one_click, true ) , $errors = 'true' ); exit;  // Для тестирования
		
		$errors = getErrors( $one_click );
		if( count( $errors ) == 0 )
		{
			$product_code = $_GET['product_code'] ? $_GET['product_code'] : 0;
			
			$user_id = addNewUser( $one_click['name'] );
			$phone_id = addNewPhone( $user_id , $one_click['phone'] );
			
			if( $product_code )
			{
                $basket_id = $conn->query( "INSERT INTO `store_baskets` ( `user_id`, `date_order` ) VALUES ( 0, now() )", true );

				$conn->query('INSERT INTO `store_basket_products` (`basket_id`, `product_code`, `count`) VALUES ('.$basket_id.', '.$product_code.' , 1)' );
			}
			else
				$basket_id = getBasketId();

			$products = getBasketProducts( $basket_id, $need_host = true );  // Берем список продуктов для уведомления по почте

			$conn->query('	UPDATE `store_baskets` SET
										`user_id`		= '.$user_id.',
										`delivery_type`	= "courier",
										`status`		= "order",
										`phone_id`		= '.$phone_id.',
										`date_order`	= now() 
								WHERE id = '.$basket_id );
			
			$order_id = $conn->query('INSERT INTO `store_orders` SET `basket_id` = '.$basket_id, true );

			
			$kind_one_click = $product_code ? 'с карточки товара' : 'с корзины';
			
			$subject = 'Поступил быстрый заказ № '.$order_id.' ('.$kind_one_click.')';
			$message = '<h2>Поступил быстрый заказ ('.$kind_one_click.'):</h2>
						<strong>Номер заказа:</strong> '.$order_id.'<br />
						<strong>Имя:</strong> '.$one_click['name'].'<br />
						<strong>Контактный номер:</strong> '.$one_click['phone'].'<br />
						<h2>Товары</h2>
						'.$products['list'];

			send_email_my( $subject , $message  );
			
			
			$ya_params = array(
				'order_id'		=> $order_id,
				'order_price'	=> $products['total_cost'],
				'currency'		=> 'RUR',
				'exchange_rate'	=> 1,
				'goods'			=> $products['products_for_metrika']
			);
		
		
			disp_status( '<h3>Уважаемый покупатель. Ваша заявка принята. Для подтверждения и оформления заказа с Вами свяжется персональный менеджер.<br/>Номер Вашей заявки <b>'.$order_id.'</b>.</h3>', '', $ya_params );
		}
		else {
			$error_mess = prepareErrors( $errors );
			disp_status( $error_mess , $errors = 'true' );		
		}
	}
	
	function getErrors( $data )
	{
		$err = array();
		$name = isset( $data['name'] ) ? trim( $data['name'] ) : '';
		$phone = trim( $data['phone'] );
		
		if( isset( $data['name'] ) )
			if( !$name || $name == 'Ваше Ф.И.О' )
				$err[] = 'Имя: значение не указано';
				
		if( !$phone || $phone == 'Телефон' || strlen( $phone ) < 7 )
			$err[] = 'Номер телефона: недопустимое значение';		
		
		return $err;
	}